#ifndef __tenacitas_distributed__receiver__h__
#define __tenacitas_distributed__receiver__h__


// =============================================================================
/** @file
    This file defines the @p receiver class
*/

// =============================================================================
//                                 C++ Headers


// =============================================================================
//                                 3rds Headers


// =============================================================================
//                                 Our Headers


// =============================================================================
//                                 Namespaces
using namespace std;


// =============================================================================
//                                 Macro Contants
/** */


// =============================================================================
//                                 Macro Commands
/** */


/** namespace of the organization */
namespace tenacitas {
    /** namespace for the project */
    namespace distributed {

        // =========================== Typedefs ===========================
        /** */

        // ============================ Pre-Declarations ==================

        // ============================ Attributes ========================
        /** */

        // ============================ Functions =========================
        /** */

        // ============================ Classes ===========================

        /** Template class that defines common parameters for all types of @p
            receivers specializations

            @tparam t_interactivity defines the type of interactivity of the
            receiver (iterative, concurrent)

            @tparam t_connectivity defines the type of connectivity of the
            receiver (connection-oriented, connectionless)
            
            @nosubgrouping 
        */
        template <typename t_interactivity, typename t_connectivity>
        class receiver;
    }
}

// =============================================================================
//                     I M P L E M E N T A T I O N
// =============================================================================

using namespace tenacitas::distributed;


#endif
